package com.xique.park.service.biz.service;

import com.xique.common.core.web.domain.AjaxResult;
import com.xique.park.bean.domain.client.ParkClientUser;
import com.xique.park.bean.request.client.ClientUserAddRequest;
import com.xique.park.bean.request.client.ClientUserEditRequest;
import com.xique.park.bean.request.client.ClientUserListRequest;
import com.xique.park.controller.client.web.bean.domain.SysUser;

/**
 * @author: caogq
 * @Date: 2021/7/21 11:51
 * @Description:
 */
public interface IParkClientUserBizService {

    /**
     * 用户保存
     *
     * @param parkClientUser
     * @return
     */
    AjaxResult saveParkClientUser(ParkClientUser parkClientUser);

    /**
     * 用户修改
     *
     * @param parkClientUser
     * @return
     */
    AjaxResult updateParkClientUser(ParkClientUser parkClientUser);

    int deleteParkClientUserByIds(String ids);


    /** =================================================== 岗亭用户V1 ================================================== **/

    /**
     * 岗亭用户列表
     *
     * @param request
     * @return com.xique.common.core.web.domain.AjaxResult
     * @author shd
     * @date 2022/3/19 13:40
     */
    AjaxResult getClientUserList(ClientUserListRequest request);

    /**
     * 添加岗亭用户
     *
     * @param request
     * @return com.xique.common.core.web.domain.AjaxResult
     * @author shd
     * @date 2022/3/19 15:20
     */
    AjaxResult addClientUser(ClientUserAddRequest request);

    /**
     * 编辑岗亭用户
     *
     * @param request
     * @return com.xique.common.core.web.domain.AjaxResult
     * @author shd
     * @date 2022/3/19 16:29
     */
    AjaxResult editClientUser(ClientUserEditRequest request);

    /**
     * 岗亭用户详情
     *
     * @param userId
     * @return com.xique.common.core.web.domain.AjaxResult
     * @author shd
     * @date 2022/3/29 15:56
     */
    AjaxResult getClientUserDetail(Long userId);

    /**
     * 删除岗亭用户
     *
     * @param userId
     * @return com.xique.common.core.web.domain.AjaxResult
     * @author shd
     * @date 2022/3/19 16:48
     */
    AjaxResult removeClientUser(Long userId);

    /**
     * 充值岗亭密码
     *
     * @param userId
     * @return com.xique.common.core.web.domain.AjaxResult
     * @author shd
     * @date 2022/3/21 9:25
     */
    AjaxResult resetClientUserPwd(Long userId);

    /**
     * 根据ID获取岗亭用户信息
     *
     * @param id ID
     * @return 岗亭用户信息
     */
    ParkClientUser getClientUserById(Long id);
}
